#include "AppDelegate.h"
#include "cocos2d.h" 
#include "HelloWorldScene.h"
#include "PuzzleGameData.h"

USING_NS_CC;

AppDelegate::AppDelegate() 
{ 
}

AppDelegate::~AppDelegate() 
{ 
}

bool AppDelegate::applicationDidFinishLaunching() {
    // initialize director
    auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    if(!glview) {

	#ifdef WIN32
		//glview = GLView::createWithRect("PuzzleGuess",cocos2d::Rect(0,0,320,480));
		glview = GLView::createWithRect("PuzzleGuess",cocos2d::Rect(0,0,480,640));
		//glview = GLView::createWithRect("PuzzleGuess",cocos2d::Rect(0,0,640,960));
		//glview = GLView::createWithRect("PuzzleGuess",cocos2d::Rect(0,0,768,1024));
	#else 
        glview = GLView::create("PuzzleGuess");
	#endif

        director->setOpenGLView(glview);   
    } 

    // turn on display FPS
    director->setDisplayStats(false);

    // set FPS. the default value is 1.0/60 if you don't call this
    director->setAnimationInterval(1.0 / 60);

    // create a scene. it's an autorelease object
    auto scene = HelloWorld::createScene();  

    // run
    director->runWithScene(scene);

	com::belyn::game::puzzleGuess::PuzzleGameData::getInstance()->init();

    return true;
}

// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
void AppDelegate::applicationDidEnterBackground() {
    Director::getInstance()->stopAnimation();

    // if you use SimpleAudioEngine, it must be pause
    // SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
}

// this function will be called when the app is active again
void AppDelegate::applicationWillEnterForeground() {
    Director::getInstance()->startAnimation();

    // if you use SimpleAudioEngine, it must resume here
    // SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
}
